package Pacote1;

import grails.test.*
import les.*

class FluxoDeCaixaTests extends functionaltestplugin.FunctionalTestCase {

	void test_ver_fluxo_de_caixa_normalmente() {
		get ("/usuario/login")

		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}

		redirectEnabled = false
		get ("/movimentacaoFinanceira/fluxoDeCaixa")

		assertContentContains "Total : 0.00"

		form() {
			click "pesquisar"
		}
		
		redirectEnabled = false

		/*
		 assertContentContains "Total"
		 assertContentContains "195.88"
		 assertContentContains "Luz"
		 */
	}

	
	void test_criar_movimentacao_financeira_com_sucesso_passando_todos_parametros() {
		get ("/usuario/login")

		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}

		redirectEnabled = false
		get ("/movimentacaoFinanceira/create")

		form() {
			descricao = "Movimentacao 1"
			valor = 132.39
			click "create"
		}

		assertRedirectUrlContains "/movimentacaoFinanceira/show"
		followRedirect()
		redirectEnabled = true


		assertContentContains "MovimentacaoFinanceira criado(a) com sucesso"
	}
	
	void test_com_fracasso_passando_apenas_decricao_com_parametro(){
		get ("/usuario/login")

		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}

		redirectEnabled = false
		get ("/movimentacaoFinanceira/create")

		form() {
			descricao = "Movimentacao 1"
			click "create"
		}

		assertContentContains "O valor n&atilde;o pode ser vazia";
	}

	void test_com_fracasso_passando_apenas_valor_com_parametro(){
		get ("/usuario/login")

		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}

		redirectEnabled = false
		get ("/movimentacaoFinanceira/create")

		form() {
			descricao = ""
			valor = 23.45
			click "create"
		}

		assertContentContains "O campo descricao n&atilde;o pode ficar em branco";
	}
	
	void test_com_fracasso_pois_o_usuario_nao_tem_permissao(){
		get ("/usuario/login")

		form() {
			email = "bandinha@gmail.com"
			senha = "123456"
			click "entrar"
		}

		redirectEnabled = false
		get ("/movimentacaoFinanceira/create")
		
		assertRedirectUrlContains "index.gsp"
		followRedirect()
		redirectEnabled = true
		
		assertContentContains "Somente Jota pode acessar essa pagina"
	}
}
